home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / extras / programm / gemfsc20 / gemfsc20.lzh / GEMFBIND / VDIMACRO.S < prev    next >
Text File  |  1993-03-16  |  2KB  |  65 lines

  1.  
  2. ;*========================================================================
  3. ;*
  4. ;* VDIFAST Public Domain VDI bindings.
  5. ;*
  6. ;*========================================================================
  7.  
  8.           .extern    vdicall             ; Let everyone see these internal
  9.           .extern    vout_pxy            ; service routines...
  10.           .extern    vstr_stack
  11.  
  12. ;*************************************************************************
  13. ;*
  14. ;* VContrl macro.
  15.           move.w    handle(a6),-(sp)    ; contrl[6]
  16.           clr.l     -(sp)                ; contrl[5,4]
  17.           clr.l     -(sp)                ; contrl[3,2]
  18.           clr.w     -(sp)                ; contrl[1]
  19.           move.w    macro.,-(sp)        ; contrl[0]
  20. ;*    Setup the 'contrl' parm block.
  21. ;*    'opcode' is mandatory.
  22. ;*    Subfunction and intin/ptsin counts are optional, and will be zeroed
  23. ;*    if they are not specified.
  24. ;*
  25. ;*************************************************************************
  26.  
  27. ;acro      VContrl    opc,sub,pti,ini,hnd
  28.           move.w    hnd,-(sp)            ; contrl[6]
  29.           move.w    sub,-(sp)            ; contrl[5]
  30.           subq.l    #2,sp                ; contrl[4]
  31.           move.w    ini,-(sp)            ; contrl[3]
  32.           subq.l    #2,sp                ; contrl[2]
  33.           move.w    pti,-(sp)            ; contrl[1]
  34.           move.w    opc,-(sp)            ; contrl[0]
  35.  
  36.           .if        \?hnd
  37.           move.w    \hnd,-(sp)
  38.           .else
  39.           move.w    .handle(a6),-(sp)
  40.           .endif
  41.  
  42.           .if        \?sub
  43.           move.w    \sub,-(sp)
  44.           subq.w    #2,sp
  45.           .else
  46.           clr.l     -(sp)
  47.           .endif
  48.  
  49.           .if        \?ini
  50.           move.w    \ini,-(sp)
  51.           subq.w    #2,sp
  52.           .else
  53.           clr.l     -(sp)
  54.           .endif
  55.  
  56.           .if        \?pti
  57.           move.w    \pti,-(sp)
  58.           .else
  59.           clr.w     -(sp)
  60.           .endif
  61.  
  62.           move.w    \opc,-(sp)
  63. endm
  64.  
  65.